package threading;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: WHY
 * Date: 2023-03-20
 * Time: 23:03
 */

class Counter {
    private Object locker =new Object();

    private int count = 0;

    public void add() {
        synchronized (locker){
            count++;
        }
    }
      public static void test(){
        synchronized(Counter.class){
            
        }
    }

    public int get(){
        return count;
    }
}



    public class ThreadDemo16 {

        public static void main(String[] args) throws InterruptedException {
            Counter counter=new Counter();
            Thread t1=new Thread(()->{
                for(int i=0;i<5000;i++){
                    counter.add();
                }
            });
            Thread t2=new Thread(()->{
                for(int i=0;i<5000;i++){
                    counter.add();
                }
            });
            t1.start();
            t2.start();

             t1.join();
             t2.join();
            System.out.println(counter.get());
        }

    }


